In recent years, in a transmission network including a relaying apparatus employing a packet technique, such as a router or a switch, demands for time synchronization and frequency synchronization among information processing apparatuses installed in various locations in the transmission network have been increased.
As a method for performing the time synchronization and the frequency synchronization in the packet transmission network, the IEEE1588 has been generally used. The IEEE 1588 has a potential capable of microsecond-order high-accuracy time synchronization, and particularly, use of the IEEE 1588 in the time synchronization and the frequency synchronization among mobile base stations is expected.
FIG. 1 is a diagram illustrating a time synchronization method in accordance with the IEEE 1588. As illustrated in FIG. 1, in the time synchronization method conforming to the IEEE 1588, dedicated messages which are referred to as “PTP (Precision Time Protocol) messages” are exchanged between a slave apparatus and a master apparatus through a relaying apparatus such as a router or a switch. The slave apparatus measures transmission times t-ms and t-sm between the master apparatus and the slave apparatus by bi-directionally exchanging a transmission time stamp and a reception time stamp with the master apparatus using the synchronization messages. The slave apparatus calculates a time offset amount Offset relative to the master apparatus in accordance with the measured transmission times t-ms and t-sm and performs a time synchronization process.
FIG. 2 is a diagram illustrating a packet transmission network 200 including a master apparatus and slave apparatuses which conform to the IEEE 1588. The packet transmission network 200 includes a master apparatus 202, a slave apparatus 204 (204-1 and 204-2), a relaying apparatus 206 (206-1 to 206-5), and an information processing apparatus 208 (208-1 to 208-3). The information processing apparatuses 208-1 and 208-2 installed on the slave apparatus 204 side are wireless base stations for wireless terminals, for example, and the information processing apparatus 208-3 installed on the master apparatus 202 side is a wireless station apparatus, for example.
In the packet transmission network 200, the relaying apparatus 206 installed in a transmission path between the master apparatus 202 and the slave apparatus 204 relays a synchronization message to be exchanged between the master apparatus 202 and the slave apparatus 204. In FIG. 2, as denoted by a dashed line, an exchange of a synchronization message between the master apparatus 202 and the slave apparatus 204-1 through the relaying apparatuses 206-1 to 206-3 are illustrated as an example. The slave apparatus 204-1 exchanges a transmission time stamp and a reception time stamp with the master apparatus 202 using the synchronization message to thereby estimate a time offset amount relative to the master apparatus and perform a time synchronization process. The slave apparatus 204-1 outputs time information obtained through the time synchronization process to the information processing apparatus 208-1 which corrects an internal setting regarding a time in accordance with the time information.
Here, when the relaying apparatuses 206-1 to 206-3 relay the synchronization message, traffic of user data (packet data) may be input to an input port other than an input port for the synchronization message (packet data) and output from an output port for the synchronization message in the relaying apparatuses 206-1 to 206-3. That is, the user traffic may join the synchronization message. In FIG. 2, as denoted by a dashed-dotted line, generation of traffic of user data between the information processing apparatuses 208-1 and 208-3 is illustrated as an example, and the user traffic joins the synchronization message in the individual relaying apparatuses 206-1 to 206-3.
FIG. 3 is an internal configuration of the relaying apparatus 206. The relaying apparatus 206 includes a selector 302, a writing controller 304, a reading controller 306, a plurality of queues 308 (308-1 to 308-k), and a selector 310. The queues 308 (308-1 to 308-k) and the selector 310 are realized by a memory 312.
Packet data input to a plurality of input ports #1 to #N of the relaying apparatus 206 is selected by the selector 302. The selected packet data is stored in one of the queues 308-1 to 308-k by the writing controller 304 in accordance with a priority level of the packet data. Assuming that the priority level of the synchronization message described above is higher than that of the user data, the synchronization message is stored in the queue 308-1 and the user data is stored in the queue 308-k. The selector 310 selects one of the queues which store the packet data as an output destination in accordance with priority control performed by the reading controller 306 and outputs packet data stored in the selected queue to the outside through an output port of the relaying apparatus 206.
Accordingly, even in a case where user data which has arrived in the relaying apparatus 206 before the synchronization message arrives in the same relaying apparatus 206 has being read from a corresponding one of the queues 308 and the synchronization message is stored in the priority-class queue 308-1, the synchronization message is not allowed to be read from the queue 308-1 after being stored in the queue 308-1 and is allowed to be read after the reading of the user data is completed.
For example, as described above, when conflict between the synchronization message and the user data which has arrived before the synchronization message occurs, the synchronization message waits an output thereof in a corresponding one of the queues 308, and therefore, relay of the synchronization message delays by a waiting time caused by the conflict. Since the delay of the relay of the synchronization message depends on a packet length of the user data and a conflict state such as a timing when the user data joins the synchronization message in the same relaying apparatus, an amount of the delay of the relay varies in accordance with a conflict situation. Such variation of a relay delay amount is referred to as PDV (Packet Delay Variation).
FIG. 4 is a diagram illustrating the PDV of the synchronization message. As illustrated in FIG. 4, a transmission time representing a period of time in which the synchronization message is transmitted from the master apparatus through the relaying apparatus to the slave apparatus includes a propagation time representing a period of time in which the synchronization message is transmitted in a transmission path between the master apparatus and the slave apparatus, a processing delay time representing a period of time which is used for a series of processes performed to relay the synchronization message through various units of the relaying apparatus, and a conflict delay time representing a period of time caused by the conflict with the other packet data.
In the transmission time, the propagation time and the processing delay time are determined in accordance with properties of the transmission path and the relaying apparatus and are fixed values irrespective of the synchronization message to be transmitted. However, the conflict delay time considerably varies in accordance with the conflict state of the synchronization message as described above. Accordingly, when the conflict delay is small, a value of a relay time in the relaying apparatus becomes small and a value of an entire transmission time also becomes small. On the other hand, when the conflict delay is large, the value of the relay time in the relaying apparatus becomes large and the value of the entire transmission time also becomes large. Consequently, the relay time of the synchronization message in the relaying apparatus varies in accordance with a degree of the conflict delay.
Note that, although a case where a synchronization message is transmitted from the master apparatus to the slave apparatus is illustrated in FIG. 4, the relay time of the relaying apparatus varies also in a case where a synchronization message is transmitted from the slave apparatus to the master apparatus.
Note that the time offset amount is calculated in accordance with Expression (1).Offset=((t2−t1)−(t4−t3))/2=((t-ms)−(t-sm))/2  (1)
When the slave apparatus calculates the time offset amount Offset in accordance with Expression (1), measurement errors occur in the transmission times t-ms and t-sm due to the variation of the relay time of the synchronization message in the relaying apparatus. The measurement error leads to an error of the time offset amount to be calculated. Accordingly, it is desirable to suppress variation of the relay time in the relaying apparatus.
FIG. 5 is a diagram illustrating a technique which enables absorption of the variation of the relay time in the relaying apparatus. As illustrated in FIG. 5, in the relaying apparatus, a reference value (almost constant) of the relay time is set in advance, and a delay is inserted into a relay of the synchronization message such that the entire relay time in the relaying apparatus becomes equal to the reference value.
For example, the reference value (almost constant) of the relay time is set as a large value including a certain margin such that a sum of a processing delay time and a conflict delay time does not exceed the reference value, taking the variation of a conflict delay depending on the conflict state of the synchronization message into consideration. In this state, the relaying apparatus calculates the conflict delay time for each synchronization message inside the relaying apparatus and calculates a difference value between the reference value (almost constant) of the relay time and the sum of the processing delay time (fixed value) and the conflict delay time. The relaying apparatus inserts a delay corresponding to the calculated difference value when relaying the synchronization message inside the relaying apparatus. Accordingly, the relaying apparatus inserts a large delay when the conflict delay is small whereas the relaying apparatus inserts a small delay when the conflict delay is large.
Accordingly, in the example illustrated in FIG. 5, the relaying apparatus inserts a delay in accordance with the conflict delay time so that the entire relay time of the synchronization message becomes equal to the reference value determined in advance to thereby absorb the variation of the relay time.
Note that the technique regarding the absorption of variation of a relay time in a relaying apparatus is disclosed in the Japanese Laid-open Patent Publication No. 2008-022131, for example.